package org.canaan.http;

import org.canaan.http.core.HttpRepeatCondition;

import java.io.IOException;

/**
 * @author Canaan
 * @date 2017/8/13
 * @param <P> 参数类型
 */
public interface HttpClient<P> {

    /**
     * 带重复执行的http请求
     *
     * @param url       请求路径
     * @param param     请求参数
     * @param condition 重复条件
     * @return
     * @throws IOException
     */
    HttpResponse execute(String url, P param, HttpRepeatCondition condition) throws IOException;

    /**
     关闭资源
     */
    void close();

}
